// 导出表
module.exports = app => {
    // 导入需要的变量类型
    const {STRING,INTEGER,BOOLEAN,TEXT} = app.Sequelize;
    // 创建数据模型
    const Cart = app.model.define('cart',{
        id:{
            type:INTEGER,
            autoIncrement:true,
            primaryKey:true
        },
        iid:{
            type:STRING, //商品的iid
            allowNull: false
        },
        count:{
            type:INTEGER,  //商品数量
            defaultValue:1 
        },
        checked:{
            type:BOOLEAN, //商品是否被选中(购买)
            defaultValue:false
        },
        desc:{
            type:TEXT,  // 商品描述
            defaultValue:''
        },
        image:{
            type:TEXT //商品图片地址
        },
        price:{
            type:STRING, //商品价格
            allowNull: false //不允许为空
        },
        title:{
            type:TEXT  //商品标题
        },
        cartId:{
            type:INTEGER,  //关联表外键
            allowNull: false //不允许为空
        },
        shopName:{
            type:STRING //商品店铺名称
        }
    })

    Cart.associate = function(){
        // 确定关联关系
        app.model.Cart.belongsTo(app.model.User,{
            foreignKey:'cartId',  //自己身上的外键
            targetKey:'id'  //对应目标身上的键
        })
    }

    // 返回数据模型
    return Cart;
}